﻿using System;

namespace Mono.Cecil
{
	// Token: 0x020000C3 RID: 195
	public abstract class Resource
	{
		// Token: 0x1700022D RID: 557
		// (get) Token: 0x060007F8 RID: 2040 RVA: 0x00023FA0 File Offset: 0x000221A0
		// (set) Token: 0x060007F9 RID: 2041 RVA: 0x00004E39 File Offset: 0x00003039
		public string Name
		{
			get
			{
				return this.name;
			}
			set
			{
				this.name = value;
			}
		}

		// Token: 0x1700022E RID: 558
		// (get) Token: 0x060007FA RID: 2042 RVA: 0x00023FB8 File Offset: 0x000221B8
		// (set) Token: 0x060007FB RID: 2043 RVA: 0x00004E43 File Offset: 0x00003043
		public ManifestResourceAttributes Attributes
		{
			get
			{
				return (ManifestResourceAttributes)this.attributes;
			}
			set
			{
				this.attributes = (uint)value;
			}
		}

		// Token: 0x1700022F RID: 559
		// (get) Token: 0x060007FC RID: 2044
		public abstract ResourceType ResourceType { get; }

		// Token: 0x17000230 RID: 560
		// (get) Token: 0x060007FD RID: 2045 RVA: 0x00023FD0 File Offset: 0x000221D0
		// (set) Token: 0x060007FE RID: 2046 RVA: 0x00004E4D File Offset: 0x0000304D
		public bool IsPublic
		{
			get
			{
				return this.attributes.GetMaskedAttributes(7U, 1U);
			}
			set
			{
				this.attributes = this.attributes.SetMaskedAttributes(7U, 1U, value);
			}
		}

		// Token: 0x17000231 RID: 561
		// (get) Token: 0x060007FF RID: 2047 RVA: 0x00023FF0 File Offset: 0x000221F0
		// (set) Token: 0x06000800 RID: 2048 RVA: 0x00004E64 File Offset: 0x00003064
		public bool IsPrivate
		{
			get
			{
				return this.attributes.GetMaskedAttributes(7U, 2U);
			}
			set
			{
				this.attributes = this.attributes.SetMaskedAttributes(7U, 2U, value);
			}
		}

		// Token: 0x06000801 RID: 2049 RVA: 0x00004E7B File Offset: 0x0000307B
		internal Resource(string name, ManifestResourceAttributes attributes)
		{
			this.name = name;
			this.attributes = (uint)attributes;
		}

		// Token: 0x040002BB RID: 699
		private string name;

		// Token: 0x040002BC RID: 700
		private uint attributes;
	}
}
